TSTP Solution File: DAT002^1 by cvc5---1.0.5
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : cvc5---1.0.5
% Problem : DAT002^1 : TPTP v8.1.2. Released v6.4.0.
% Transfm : none
% Format : tptp
% Command : do_cvc5 %s %d
% Computer : n005.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Wed Aug 30 22:10:15 EDT 2023
% Result : Theorem 0.20s 0.52s
% Output : Proof 0.20s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.13 % Problem : DAT002^1 : TPTP v8.1.2. Released v6.4.0.
% 0.12/0.14 % Command : do_cvc5 %s %d
% 0.14/0.35 % Computer : n005.cluster.edu
% 0.14/0.35 % Model : x86_64 x86_64
% 0.14/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35 % Memory : 8042.1875MB
% 0.14/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35 % CPULimit : 300
% 0.14/0.35 % WCLimit : 300
% 0.14/0.35 % DateTime : Thu Aug 24 14:14:53 EDT 2023
% 0.14/0.35 % CPUTime :
% 0.20/0.49 %----Proving TH0
% 0.20/0.52 %------------------------------------------------------------------------------
% 0.20/0.52 % File : DAT002^1 : TPTP v8.1.2. Released v6.4.0.
% 0.20/0.52 % Domain : Data Structures
% 0.20/0.52 % Problem : Recursive list Fibonacci sort
% 0.20/0.52 % Version : Especial.
% 0.20/0.52 % English : A list is Fibonacci sorted if it is sorted, and every element is
% 0.20/0.52 % greater of equal to the sum of its two predecessors (from the
% 0.20/0.52 % third element onwards).
% 0.20/0.52
% 0.20/0.52 % Refs :
% 0.20/0.52 % Source : [TPTP]
% 0.20/0.52 % Names :
% 0.20/0.52
% 0.20/0.52 % Status : Theorem
% 0.20/0.52 % Rating : 0.00 v8.1.0, 1.00 v7.4.0, 0.00 v7.1.0, 1.00 v6.4.0
% 0.20/0.52 % Syntax : Number of formulae : 9 ( 3 unt; 4 typ; 0 def)
% 0.20/0.52 % Number of atoms : 9 ( 0 equ; 0 cnn)
% 0.20/0.52 % Maximal formula atoms : 4 ( 1 avg)
% 0.20/0.52 % Number of connectives : 44 ( 0 ~; 0 |; 2 &; 40 @)
% 0.20/0.52 % ( 0 <=>; 2 =>; 0 <=; 0 <~>)
% 0.20/0.52 % Maximal formula depth : 12 ( 7 avg)
% 0.20/0.52 % Number arithmetic : 15 ( 3 atm; 1 fun; 5 num; 6 var)
% 0.20/0.52 % Number of types : 3 ( 1 usr; 1 ari)
% 0.20/0.52 % Number of type conns : 3 ( 3 >; 0 *; 0 +; 0 <<)
% 0.20/0.52 % Number of symbols : 11 ( 3 usr; 6 con; 0-2 aty)
% 0.20/0.52 % Number of variables : 7 ( 0 ^; 7 !; 0 ?; 7 :)
% 0.20/0.52 % SPC : TH0_THM_NEQ_ARI
% 0.20/0.52
% 0.20/0.52 % Comments :
% 0.20/0.52 %------------------------------------------------------------------------------
% 0.20/0.52 thf(list_type,type,
% 0.20/0.52 list: $tType ).
% 0.20/0.52
% 0.20/0.52 thf(nil_type,type,
% 0.20/0.52 nil: list ).
% 0.20/0.52
% 0.20/0.52 thf(mycons_type,type,
% 0.20/0.52 mycons: $int > list > list ).
% 0.20/0.52
% 0.20/0.52 thf(sorted_type,type,
% 0.20/0.52 fib_sorted: list > $o ).
% 0.20/0.52
% 0.20/0.52 thf(empty_fib_sorted,axiom,
% 0.20/0.52 fib_sorted @ nil ).
% 0.20/0.52
% 0.20/0.52 thf(single_is_fib_sorted,axiom,
% 0.20/0.52 ! [X: $int] : ( fib_sorted @ ( mycons @ X @ nil ) ) ).
% 0.20/0.52
% 0.20/0.52 thf(double_is_fib_sorted_if_ordered,axiom,
% 0.20/0.52 ! [X: $int,Y: $int] :
% 0.20/0.52 ( ( $less @ X @ Y )
% 0.20/0.52 => ( fib_sorted @ ( mycons @ X @ ( mycons @ Y @ nil ) ) ) ) ).
% 0.20/0.52
% 0.20/0.52 thf(recursive_fib_sort,axiom,
% 0.20/0.52 ! [X: $int,Y: $int,Z: $int,R: list] :
% 0.20/0.52 ( ( ( $less @ X @ Y )
% 0.20/0.52 & ( $greatereq @ Z @ ( $sum @ X @ Y ) )
% 0.20/0.52 & ( fib_sorted @ ( mycons @ Y @ ( mycons @ Z @ R ) ) ) )
% 0.20/0.52 => ( fib_sorted @ ( mycons @ X @ ( mycons @ Y @ ( mycons @ Z @ R ) ) ) ) ) ).
% 0.20/0.52
% 0.20/0.52 thf(check_list,conjecture,
% 0.20/0.52 fib_sorted @ ( mycons @ 1 @ ( mycons @ 2 @ ( mycons @ 4 @ ( mycons @ 7 @ ( mycons @ 100 @ nil ) ) ) ) ) ).
% 0.20/0.52
% 0.20/0.52 %------------------------------------------------------------------------------
% 0.20/0.52 ------- convert to smt2 : /export/starexec/sandbox/tmp/tmp.eUvmXKKvvf/cvc5---1.0.5_2263.p...
% 0.20/0.52 (declare-sort $$unsorted 0)
% 0.20/0.52 (declare-sort tptp.list 0)
% 0.20/0.52 (declare-fun tptp.nil () tptp.list)
% 0.20/0.52 (declare-fun tptp.mycons (Int tptp.list) tptp.list)
% 0.20/0.52 (declare-fun tptp.fib_sorted (tptp.list) Bool)
% 0.20/0.52 (assert (@ tptp.fib_sorted tptp.nil))
% 0.20/0.52 (assert (forall ((X Int)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) tptp.nil))))
% 0.20/0.52 (assert (forall ((X Int) (Y Int)) (=> (< X Y) (@ tptp.fib_sorted (@ (@ tptp.mycons X) (@ (@ tptp.mycons Y) tptp.nil))))))
% 0.20/0.52 (assert (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (@ (@ tptp.mycons Y) (@ (@ tptp.mycons Z) R)))) (=> (and (< X Y) (>= Z (+ X Y)) (@ tptp.fib_sorted _let_1)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) _let_1))))))
% 0.20/0.52 (assert (not (@ tptp.fib_sorted (@ (@ tptp.mycons 1) (@ (@ tptp.mycons 2) (@ (@ tptp.mycons 4) (@ (@ tptp.mycons 7) (@ (@ tptp.mycons 100) tptp.nil))))))))
% 0.20/0.52 (set-info :filename cvc5---1.0.5_2263)
% 0.20/0.52 (check-sat-assuming ( true ))
% 0.20/0.52 ------- get file name : TPTP file name is DAT002^1
% 0.20/0.52 ------- cvc5-thf : /export/starexec/sandbox/solver/bin/cvc5---1.0.5_2263.smt2...
% 0.20/0.52 --- Run --ho-elim --full-saturate-quant at 10...
% 0.20/0.52 % SZS status Theorem for DAT002^1
% 0.20/0.52 % SZS output start Proof for DAT002^1
% 0.20/0.52 (
% 0.20/0.52 (let ((_let_1 (not (@ tptp.fib_sorted (@ (@ tptp.mycons 1) (@ (@ tptp.mycons 2) (@ (@ tptp.mycons 4) (@ (@ tptp.mycons 7) (@ (@ tptp.mycons 100) tptp.nil))))))))) (let ((_let_2 (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (@ (@ tptp.mycons Y) (@ (@ tptp.mycons Z) R)))) (=> (and (< X Y) (>= Z (+ X Y)) (@ tptp.fib_sorted _let_1)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) _let_1))))))) (let ((_let_3 (forall ((X Int) (Y Int)) (=> (< X Y) (@ tptp.fib_sorted (@ (@ tptp.mycons X) (@ (@ tptp.mycons Y) tptp.nil))))))) (let ((_let_4 (ho_6 (ho_5 k_4 100) tptp.nil))) (let ((_let_5 (ho_6 (ho_5 k_4 7) _let_4))) (let ((_let_6 (ho_6 (ho_5 k_4 4) _let_5))) (let ((_let_7 (ho_6 (ho_5 k_4 2) _let_6))) (let ((_let_8 (ho_3 k_2 _let_7))) (let ((_let_9 (ho_3 k_2 _let_6))) (let ((_let_10 (not _let_9))) (let ((_let_11 (or _let_10 _let_8))) (let ((_let_12 (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (ho_6 (ho_5 k_4 Y) (ho_6 (ho_5 k_4 Z) R)))) (or (>= (+ X (* (- 1) Y)) 0) (>= (+ X Y (* (- 1) Z)) 1) (not (ho_3 k_2 _let_1)) (ho_3 k_2 (ho_6 (ho_5 k_4 X) _let_1))))))) (let ((_let_13 (EQ_RESOLVE (ASSUME :args (_let_2)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_2 SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (forall ((X Int) (Y Int) (Z Int) (R tptp.list)) (let ((_let_1 (@ (@ tptp.mycons Y) (@ (@ tptp.mycons Z) R)))) (or (>= (+ X (* (- 1) Y)) 0) (>= (+ X Y (* (- 1) Z)) 1) (not (@ tptp.fib_sorted _let_1)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) _let_1))))) _let_12))))))) (let ((_let_14 (_let_12))) (let ((_let_15 ((ho_6 (ho_5 k_4 X) (ho_6 (ho_5 k_4 Y) (ho_6 (ho_5 k_4 Z) R)))))) (let ((_let_16 (ho_3 k_2 _let_5))) (let ((_let_17 (not _let_16))) (let ((_let_18 (or _let_17 _let_9))) (let ((_let_19 (forall ((X Int) (Y Int)) (or (>= (+ X (* (- 1) Y)) 0) (ho_3 k_2 (ho_6 (ho_5 k_4 X) (ho_6 (ho_5 k_4 Y) tptp.nil))))))) (let ((_let_20 (EQ_RESOLVE (ASSUME :args (_let_3)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_3 SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (forall ((X Int) (Y Int)) (or (>= (+ X (* (- 1) Y)) 0) (@ tptp.fib_sorted (@ (@ tptp.mycons X) (@ (@ tptp.mycons Y) tptp.nil))))) _let_19))))))) (let ((_let_21 (ho_3 k_2 (ho_6 (ho_5 k_4 1) _let_7)))) (let ((_let_22 (not _let_8))) (let ((_let_23 (or _let_22 _let_21))) (SCOPE (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_11)) :args ((or _let_10 _let_8 (not _let_11)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_23)) :args ((or _let_21 _let_22 (not _let_23)))) (EQ_RESOLVE (ASSUME :args (_let_1)) (PREPROCESS :args ((= _let_1 (not _let_21))))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_13 :args (1 2 4 _let_5 QUANTIFIERS_INST_E_MATCHING _let_15)) :args _let_14))) _let_13 :args (_let_23 false _let_12)) :args (_let_22 true _let_21 false _let_23)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_18)) :args ((or _let_17 _let_9 (not _let_18)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_20 :args (7 100 QUANTIFIERS_INST_E_MATCHING ((ho_6 (ho_5 k_4 X) (ho_6 (ho_5 k_4 Y) tptp.nil))))) :args (_let_19)))) _let_20 :args (_let_16 false _let_19)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_13 :args (4 7 100 tptp.nil QUANTIFIERS_INST_E_MATCHING _let_15)) :args _let_14))) _let_13 :args (_let_18 false _let_12)) :args (_let_9 false _let_16 false _let_18)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_13 :args (2 4 7 _let_4 QUANTIFIERS_INST_E_MATCHING _let_15)) :args _let_14))) _let_13 :args (_let_11 false _let_12)) :args (false true _let_8 false _let_9 false _let_11)) :args ((@ tptp.fib_sorted tptp.nil) (forall ((X Int)) (@ tptp.fib_sorted (@ (@ tptp.mycons X) tptp.nil))) _let_3 _let_2 _let_1 true))))))))))))))))))))))))))
% 0.20/0.52 )
% 0.20/0.52 % SZS output end Proof for DAT002^1
% 0.20/0.52 % cvc5---1.0.5 exiting
% 0.20/0.53 % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------